Internal combustion engines may have many parameters which must or may be controlled, including spark timing, fuel delivery, air intake, exhaust removal, emissions control, engine speed and torque, accessory control, and the like. Typically, the rotating mass of an engine has substantial inertia which inhibits immediate attempts to change engine parameters. This inertia is represented by integration when modeling the engine parameters.
The control problem is complicated by the presence of delay between when an engine parameter changes and when the corresponding change in a controlling signal occurs. Such delay may be caused by the response time of a sensor detecting the engine parameter, by computational time required to calculate the control signal, and by the response time of an actuator designed to affect the engine parameter. For example, the delay between when a control signal reaches a fuel injector and when the commanded amount of fuel enters the combustion chamber may be a significant factor in the fuel delivery controller design. Even if sensor, computational and actuator delays can be effectively eliminated, the engine itself may introduce delays. For example, piston engines produce discontinuous combustion at discrete points, limiting to specific ranges within each ignition cycle when control events may occur. Regardless of the cause, transport delays may result in over control and instability.
Another factor complicating the problem of engine control is the presence of disturbances in the engine. Disturbances may be any unwanted factor that influences the engine operation. Disturbances may be random, such as electrical noise picked up by sensors used to monitor engine parameters. Disturbances may also be dependent on engine operation, such as frictional losses or vibrations.
A typical model for a control system replaces the one or more engine parameters to be controlled with a linear model having an output for each controlled parameter and a corresponding input providing control signals. A controller, placed before the engine model in the control feed-forward path, provides the control signals. The input to the controller is one or more error signals found as the difference between desired levels for the controlled engine parameters and the actual engine parameter outputs fed back to the controller input. Disturbances are often modeled as an additive signal source in the feed-forward path after the controller.
One well known technique for delay compensation is to place a Smith compensator in an inner negative feedback loop around the controller. The Smith compensator or predictor feeds back a simulated engine parameter output to cancel the true engine parameter output and then adds a simulated engine parameter output without the transport delay. If the simulated engine parameter model and the delay value match the actual engine, the Smith compensator will precisely cancel the effects of the delay. However, for a controlled engine parameter subject to inertia, inaccuracies in the simulated engine model may result in saturation errors and the inability to achieve the desired engine parameter values.
Other techniques, such as the closed loop observer in a state-space controller topology, have also been proposed. However, these techniques tend to be complex and are sensitive to the closed loop observer gains.
What is needed is to control an engine with transport delay in a manner that compensates for delay without a substantial increase in complexity, without the need to accurately model engine parameters, and without the possibility of error saturation.